/*******************************************************/
/*                        AJAX                         */
/*******************************************************/
var _onCompleteFctSpecif_ = null; 
/*
 * Méthode appelée lorsque l'appel à la fonction en ajax est terminée
 * quelque soit le résultat (OK ou KO)
 */
onCompleteFct = function (transport)
{
//alert("onComplete2"+transport.responseXML);
	if( transport.responseXML != null && 
		transport.responseXML.getElementsByTagName('erreur') != null &&
        transport.responseXML.getElementsByTagName('erreur').length > 0)
    {
    	//alert("ERR");
       	var oErreur = transport.responseXML.getElementsByTagName('erreur')[0]; 
       	//alert(oErreur.getElementsByTagName('code')[0].textContent);
       	//alert(oErreur.getElementsByTagName('msg')[0].textContent);  
       	
       	//$("MsgErr").update(oErreur.getElementsByTagName('msg')[0].textContent);
       	//$("TableMsgErr").show();
       	top.afficheMsg({titre: "Ajax erreur", message:oErreur.getElementsByTagName('msg')[0].textContent})
    }
    else
    {
    	//alert("OK");
    	//$("MsgErr").update('');
      	//$("TableMsgErr").hide();   
//    	alert(_onCompleteFctSpecif_);
    	/*if( _onCompleteFctSpecif_ != null )
    	{
    		//eval("_onCompleteFctSpecif_(transport)");
    		//_onCompleteFctSpecif_.apply(transport);
    		//this._onCompleteFctSpecif_(transport);
    		_onCompleteFctSpecif_ = null;
    	}*/
    	if( _onCompleteFctSpecif_ != null )
    	{
    	  if( 'function' ==  typeof(_onCompleteFctSpecif_) )
    	  {
    		  _onCompleteFctSpecif_(transport)
    	  }
    	  else
    	  {
    	    eval(_onCompleteFctSpecif_)
    	  }  
    	  _onCompleteFctSpecif_ = null;
    	}
    }
};

/*
 * Méthode appelée lorsque l'appel à la fonction en ajax a levée une exception
 */
onExceptionFct = function(xhr, e)
{
	//alert('Une exception a été levée lors du lancement de la page ! cause : ' + e);
	top.afficheMsg({titre: "Ajax exception", message:"Une exception a été levée lors du lancement de la page ! cause : " + e})
};

/*
 * Méthode standard pour lancer une page avec Ajax.Updater
 */
lanceUpdate = function(id, url, parametres)
{
	new Ajax.Updater(id, url, {
		  parameters: parametres,
		  insertion: 'Bottom',
		  onException: onExceptionFct,
		  onComplete: onCompleteFct
		 });
};

/*
 * Méthode standard pour lancer une page avec Ajax.Request
 */
lanceRequest = function(url, parametres, methodeRetourSiOK)
{
	if( methodeRetourSiOK != null ) _onCompleteFctSpecif_ = methodeRetourSiOK;
	new Ajax.Request(url, {
		  parameters: parametres,
		  onException: onExceptionFct,		  
		  onComplete: onCompleteFct
		});
};